<?php
 class Fich_exo{


	function Index(){
		afficher("fich_exo/index");
	}

	function Consulter($id){
		modele("default");
		$dat=recupFichexo($id);
		$dat["enonce"]=lireFichier("fiche",$id);
		afficher("fich_exo/consulter",array("titre"=>$dat["titre"],"datecreation"=>$dat["datecreation"],"data"=>$dat["commentaire"],"controleur"=>"fich_exo","enonce"=>$dat["enonce"],"auteur"=>$dat["auteur"]));
	}

	function Supprimer($id) {
			$a =& load("Sessions");
			$a->restreint(1000);

			afficher("confsuppression",array("titre"=>"Suppression d'une fiche d'exercices","id"=>$id,"controleur"=>"fich_exo/","methode"=>"supprimer/"));
	}
	
	function _Supprimer($id){
		
			$a =& load("Sessions");
			$a->restreint(1000);

	GLOBAL $URLBASE, $PATHBASE;
	modele("default");
		supprimerFichExo($id);
		supprimerFichier("fiche",$id);
		// supprime le pdf
		system("rm ".$PATHBASE."staticdata/latex/pdf/".$id.".pdf");
		header("Location: ".$URLBASE."fich_exo");
	}
	
	function Modifier($id){
		
			$a =& load("Sessions");
			$a->restreint(100);
		
		$view="fich_exo/modifier";
		$f=& load("Forms");
		$f->setSpecifications($view);
		modele("default");
		$dat=recupFichexo($id);
		$dat["enonce"]=lireFichier("fiche",$id);
		$f->setData($dat);
		$cat=recupToutesCategories();
		afficher($view,array("controleur"=>"fich_exo","id"=>$id,"categorie"=>$cat,"valcategorie"=>$dat["categorie"]));
	}
	
	function _Modifier($id){
			$a =& load("Sessions");
			$a->restreint(100);

		$view="fich_exo/modifier";
		$f=&load("Forms");
		modele("default");
		$f->setSpecifications($view);
		
		if ($f->testerRegles($_POST) == false){ // Erreurs : on réaffiche et on demande de corriger
			$f->setData($_POST);
			$cat=recupToutesCategories();
			afficher($view,array("controleur"=>"fich_exo","id"=>$id,"categorie"=>$cat,"valcategorie"=>$_POST["selectcategorie"]));
		}else{ // C'est bon ! On insère dans la base et on confirme
			modifFichexo($_POST,$id);
			ecrireFichier("fiche",$id,$_POST["enonce"]);
			afficher("conf", array("titre" => "Modification d'une fiche d'exercice", "notice" => "La fiche d'exercice a bien été modifiée.","controleur"=>"fich_exo/"));
		}
	}




	// #####################
	// Processus de constitution d'une fiche
	// #####################


	// Etape 1
	// Infos générales (titre, categorie...)

		
	function Ajouter(){
			$a =& load("Sessions");
			$a->restreint(100);

		$view = "fich_exo/ajouter";

		$f=& load("Forms");
		$f->setSpecifications($view);
		modele("default");
		$cat=recupToutesCategories();
		$ent=recupToutesEntetes();

		afficher($view,array("controleur"=>"fich_exo/","categorie"=>$cat,"entete"=>$ent));
	}
	
	function _Ajouter(){
			$a =& load("Sessions");
			$a->restreint(100);

		$view = "fich_exo/ajouter";
		$f=& load("Forms");
		$f->setSpecifications($view);

		modele("default");
		$cat=recupToutesCategories();
		$ent=recupToutesEntetes();
		if ($f->testerRegles($_POST) == false){ // Erreurs : on réaffiche et on demande de corriger
			$f->setData($_POST);
			afficher($view,array("controleur"=>"fich_exo/","categorie"=>$cat,"entete"=>$ent,"valentete"=>$_POST["selectentete"],"valcategorie"=>$_POST["selectcategorie"]));
		echo $_POST["selectentete"];
		}else{ // C'est bon ! On insère dans la base et on confirme
			foreach($_COOKIE as $k => $v){
				$nom1 = $k;
				$nom2 = $v;
			}
			// On stocke temporairement dans la table "sessions" au niveau de la session de l'utilisateur
			$idfi=stockerFichExo($_POST,$nom1,$nom2);
			// Passage à  l'étape suivante
			$this->Etape2();
		}
	}
	

	// Etape 2
	// Recherche des exos par mot clef ou categorie + selection

	function Etape2(){
		
		$a =& load("Sessions");
		$a->restreint(100);

		// -----------

		$a=& load("Arbrecategories");
		$coches = recupTousGroupesExos();

		$view="fich_exo/etape2";
		$f=&load("forms");
		//afficher($view,array("controleur"=>"exercice"));
		afficher($view,array("controleur"=>"fich_exo/","groupesexos"=>$coches));
	}	

	function _Etape2(){
		
		$a =& load("Sessions");
		$a->restreint(100);

		foreach($_COOKIE as $k => $v){
				$nom1 = $k;
				$nom2 = $v;
			}
		modele("default");
		$a =& load("Sessions");
		$aut = $a->getnomprenom();
		$uidfiche=insererFichExo($_POST,$nom1,$nom2,$aut);

		// on a $_POST["listexo"] qui vaut X,Y,Z...
		$i = 0;
		$uidsexos = array();
		while(isset($_POST[$i])){
			$uidsexos[$i] = $_POST[$i];
			$i++;
		}
		// creerhistoriquefiche($uidfiche, $uidsexos);

		// Générer le code TeX
		// TODO !!!!
		// Générer le pdf
		GLOBAL $PATHBASE, $LATEXBASE;
		ecrireFicheExo("fiche", $uidfiche, $uidsexos);
		system("pdflatex -output-directory ".$LATEXBASE."pdf ".$LATEXBASE."fiche/".$uidfiche.".tex &> /dev/null");
		system("rm ".$PATHBASE."staticdata/latex/pdf/".$uidfiche.".log");
		system("rm ".$PATHBASE."staticdata/latex/pdf/".$uidfiche.".aux");
		// Affiche la confirmation
		afficher("conf", array("titre" => "Création d'une fiche d'exercice", "notice" => "La fiche d'exercice a bien été crée. Vous pouvez retoucher son code LaTeX et télécharger une version PDF depuis la page principale de la partie \"Fiches d'exercices\".","controleur"=>"fich_exo/"));
	}
	
	// Etape 3
	// Drag-n-drop avec les exercices sélectionnés

/*
	function Etape3(){

		$a =& load("Sessions");
		$a->restreint(100);
		$view="fich_exo/etape3";
		$f=&load("forms");
		//afficher($view,array("controleur"=>"exercice"));
		afficher($view,array("controleur"=>"fich_exo/","groupesexos"=>$coches));

	}

	
	function _Etape3(){
		$a =& load("Sessions");
		$a->restreint(100);

		foreach($_COOKIE as $k => $v){
				$nom1 = $k;
				$nom2 = $v;
			}
		modele("default");
		$a =& load("Sessions");
		$aut = $a->getnomprenom();
		$uidfiche=insererFichExo($_POST,$nom1,$nom2,$aut);

		// on a $_POST["listexo"] qui vaut X,Y,Z...
		$uidsexos = $_POST["exos"];
		// creerhistoriquefiche($uidfiche, $uidsexos);

		echo "<script>alert('".($uidexos)."');</script>";
		// Générer le code TeX
		// TODO !!!!
		// Générer le pdf
		//system("pdflatex -output-directory ".$PATHBASE."staticdata/pdf ".$LATEXBASE."fiche/".$fexo);
		//system("rm ".$PATHBASE."staticdata/pdf".$fexo.".log");
		//system("rm ".$PATHBASE."staticdata/pdf".$fexo.".aux");

		//ecrireFicheExo("fiche",$uidsexos,$uidfiche);

		// Affiche la confirmation
		afficher("conf", array("titre" => "Création d'une fiche d'exercice", "notice" => "La fiche d'exercice a bien été crée. Vous pouvez retoucher son code LaTeX et télécharger une version PDF depuis la page principale de la partie \"Fiches d'exercices\".","controleur"=>"fich_exo/"));

	}
*/
 }
?>
